<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>量词</title>
		<script type="text/javascript">
			// `{n}`正好出现n次
			// 创建一个正则表达式检查一个字符串中是否含有aaa
			var reg = /a{3}/;
			console.log(reg.test("aaabc")); // true
			// 创建一个正则表达式检查一个字符串中是否含有ababab
			reg = /ab{3}/;
			console.log(reg.test("ababab")); // false
			console.log(reg.test("aaabbb")); // true
			reg = /(ab){3}/;
			console.log(reg.test("ababab")); // true
			
			// `{m,n}`出现m-n次
			reg = /ab{3,4}c/;
			console.log(reg.test("abbc")); // false
			console.log(reg.test("abbbc")); // true
			console.log(reg.test("abbbbc")); // true
			console.log(reg.test("abbbbbc")); // false
			
			// `{m,}` 出现m次以上
			reg = /ab{3,}c/;
			console.log(reg.test("abbbc")); // true
			console.log(reg.test("abbbbbc")); // true
			
			// `+`至少一个，相当于`{1,}`
			reg = /ab+c/;
			console.log(reg.test("ac")); // false
			console.log(reg.test("abc")); // true
			console.log(reg.test("abbbc")); // true
			
			// `*`0个或多个，相当于`{0,}`
			reg = /ab*c/;
			console.log(reg.test("ac")); // true
			console.log(reg.test("abbc")); // true
			console.log(reg.test("abbbc")); // true
			
			// `?`0个或1个，相当于`{0,1}`
			reg = /ab?c/;
			console.log(reg.test("ac")); // true
			console.log(reg.test("abc")); // true
			console.log(reg.test("abbc")); // false
			
			
			// - `^`表示开头
			// 检查一个字符串中是否以a开头
			reg = /^a/;
			console.log(reg.test("ac")); // true
			console.log(reg.test("bac")); // false
			// - `$`表示结尾
			// 检查一个字符串中是否以a结尾
			reg = /a$/;
			console.log(reg.test("abac")); // false
			console.log(reg.test("abaca")); // true
			// 如果在正则表达式中同时使用`^`、`$`，要求字符串必须完全符合正则表达式
			// 以a开头，并立即以a结尾
			reg = /^a$/;
			console.log(reg.test("aba")); // false
			console.log(reg.test("a")); // true
			// 以a开头，或者以a结尾
			reg = /^a|a$/;
			console.log(reg.test("aba")); // true
			console.log(reg.test("a")); // true
			
			// **练习**
			// 创建一个正则表达式，用来检查一个字符串是否是一个合法的手机号
			reg = /^1[3-9][0-9]{9}$/;
			console.log(reg.test("a14567876543")); // false
			console.log(reg.test(1456787)); // false
			console.log(reg.test(12567876543)); // false
			console.log(reg.test(13567876543)); // true
		
		</script>
	</head>
	<body>
	</body>
</html>
